package com.yiqi.lottery.feature.mine.contract;

import com.suozhang.framework.entity.bo.Result;
import com.suozhang.framework.entity.bo.UserInfoBo;
import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;
import com.yiqi.lottery.entity.bo.BalanceBo;
import com.yiqi.lottery.entity.bo.PayStautsBo;
import com.yiqi.lottery.entity.bo.RechargeBo;
import com.yiqi.lottery.entity.bo.RechargeCallBackBo;
import io.reactivex.Observable;

public interface RechargeContract {

    interface Model {

        Observable<RechargeBo> toRecharge(RechargeBo rechargeBo);
        Observable<RechargeBo> toWithdraw(RechargeBo rechargeBo);
        Observable<PayStautsBo> toYLPay(String id);
        Observable<UserInfoBo> getUsertInfo();

}

    interface View extends BaseView {

        void showMyRechargeSuccess(RechargeBo msg);
        void showWithdrawSuccess(RechargeBo msg);
        void showYLPaySuccess(PayStautsBo msg);
        void showUserInfoSuccess(UserInfoBo userInfoBo);
        void showMyRechargeError(String msg);
    }


    interface Presenter extends BasePresenter {
        void doRecharge(double prize,int type);
        void toWithdraw(double rechargeBo);
        void  toYLPay(String id);
        void doGetUserInfo();
    }
}
